
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

class HouseListItem extends StatefulWidget {
  HouseListItem({super.key, required this.houseItem});

  Map houseItem;

  @override
  State<HouseListItem> createState() => _HouseListItemState();
}

class _HouseListItemState extends State<HouseListItem> {
  Map house = {};

  @override
  void initState() {
    super.initState();
    house = widget.houseItem;
  }

  Widget _buildItem(int status) {
    List tagList = [
      {}, // 默认0时候需要有一个空对象
      {
        'title': '正在审核',
        'bgcolor': const Color.fromARGB(50, 0, 0, 255),
        'color': const Color.fromARGB(255, 0, 0, 255)
      },
      {
        'title': '审核通过',
        'bgcolor': const Color.fromARGB(50, 0, 255, 0),
        'color': const Color.fromARGB(255, 0, 255, 0)
      },
      {
        'title': '审核失败',
        'bgcolor': const Color.fromARGB(50, 255, 0, 0),
        'color': const Color.fromARGB(255, 255, 0, 0)
      },
    ];
    return Container(
        padding: const EdgeInsets.only(left: 5, right: 5, top: 2, bottom: 2),
        decoration: BoxDecoration(
            color: tagList[status]['bgcolor'],
            borderRadius: BorderRadius.circular(5)),
        child: Text(tagList[status]['title'],
            style: TextStyle(color: tagList[status]['color'])));
  }

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        context.push('/house_detail/${house['id']}');
      },
      child: Container(
          padding: const EdgeInsets.all(10),
          decoration: const BoxDecoration(
            color: Colors.white,
          ),
          child: Column(children: [
            Row(
              children: [
                Expanded(child: Text('${house['point']}')),
                const Spacer(),
                _buildItem(house['status']),
              ],
            ),
            const SizedBox(height: 10),
            Row(
              children: [
                Text(
                  '房间号',
                  style: TextStyle(color: Colors.grey),
                ),
                Spacer(),
                Expanded(
                    child: Text(
                      '${house['room']}',
                      textAlign: TextAlign.right,
                    )),
              ],
            ),
            const SizedBox(height: 10),
            Row(
              children: [
                Text(
                  '业主',
                  style: TextStyle(color: Colors.grey),
                ),
                Spacer(),
                Expanded(
                    child: Text(
                      '${house['name']}',
                      textAlign: TextAlign.right,
                    )),
              ],
            ),
          ])),
    );
  }
}
